Il Protocollo Ethernet: Dalle Fondamenta all’Avanguardia Tecnologica

Introduzione

Il protocollo Ethernet rappresenta uno dei pilastri fondamentali delle moderne reti di comunicazione. Nato nei laboratori Xerox PARC negli anni '70, Ethernet ha subito un’evoluzione straordinaria, trasformandosi da una tecnologia sperimentale per reti locali a velocità modesta in uno standard universale capace di supportare velocità di trasmissione che superano i 400 Gigabit per secondo. Questa lezione esplorerà in modo approfondito e sistematico il protocollo Ethernet, partendo dai suoi principi fondamentali per arrivare alle implementazioni più avanzate e alle sfide della ricerca contemporanea.

Per comprendere appieno Ethernet è necessario attraversare diversi livelli di astrazione: dalla teoria dell’accesso multiplo al canale condiviso, passando per i dettagli implementativi del livello fisico e di collegamento, fino alle moderne architetture di rete commutate. Questo percorso ci permetterà di apprezzare non solo come funziona Ethernet, ma anche perché è diventato lo standard dominante, scalzando tecnologie alternative come Token Ring, FDDI e ATM.

1. Contesto Storico e Genesi di Ethernet

1.1 La Nascita di Ethernet

Negli anni '70, Robert Metcalfe e David Boggs, ricercatori presso lo Xerox Palo Alto Research Center (PARC), svilupparono il primo prototipo di Ethernet come parte del progetto Alto, un ambizioso sistema di workstation distribuite. Il nome “Ethernet” deriva dal concetto di “etere luminifero”, il medium ipotetico che i fisici ottocenteschi ritenevano necessario per la propagazione delle onde elettromagnetiche. Metcalfe immaginò il cavo coassiale come un “etere” passivo attraverso cui tutte le stazioni potevano comunicare.

Il primo sistema Ethernet operava a 2,94 Megabit per secondo e utilizzava un singolo cavo coassiale come mezzo trasmissivo condiviso. Questa architettura a bus condiviso rappresentava un approccio radicalmente diverso rispetto ai sistemi punto-punto o alle topologie ad anello che stavano emergendo nello stesso periodo. La chiave del successo iniziale di Ethernet risiedeva nella sua semplicità concettuale: tutti i nodi erano collegati allo stesso segmento di rete e potevano “ascoltare” tutte le trasmissioni.

1.2 La Standardizzazione IEEE 802.3

Nel 1983, l’Institute of Electrical and Electronics Engineers (IEEE) formalizò Ethernet attraverso lo standard IEEE 802.3, con alcune differenze rispetto alla specifica originale di Xerox. Questa standardizzazione fu cruciale per l’adozione diffusa della tecnologia. Il comitato IEEE 802 aveva il compito di definire standard per le reti locali (LAN) e divise il livello data link del modello OSI in due sottolivelli: il Logical Link Control (LLC), definito dallo standard 802.2, e il Media Access Control (MAC), definito dai vari standard 802.x, tra cui il 802.3 per Ethernet.

Lo standard IEEE 802.3 inizialmente specificava una velocità di 10 Mbps su cavo coassiale (10BASE5 e 10BASE2), ma negli anni successivi si è evoluto per includere numerose varianti che differiscono per velocità, mezzo trasmissivo e topologia. Questa modularità dello standard ha permesso a Ethernet di adattarsi alle esigenze tecnologiche emergenti senza richiedere una revisione completa dell’architettura di base.

1.3 L’Evoluzione delle Velocità

La storia di Ethernet è caratterizzata da un costante aumento delle velocità di trasmissione:

Ogni generazione ha richiesto innovazioni significative sia a livello fisico che a livello MAC, mantenendo però una compatibilità logica che ha facilitato la migrazione e l’interoperabilità.

2. Fondamenti Teorici: Il Problema dell’Accesso Multiplo

2.1 Il Canale Condiviso e le Collisioni

Ethernet nelle sue prime implementazioni utilizzava un’architettura a bus condiviso, dove tutte le stazioni erano connesse allo stesso segmento di cavo. Questo rappresenta un classico esempio di canale broadcast con accesso multiplo. Il problema fondamentale in questo scenario è coordinare l’accesso al mezzo condiviso da parte di molteplici stazioni che desiderano trasmettere simultaneamente.

Quando due o più stazioni trasmettono contemporaneamente sullo stesso canale, si verifica una collisione: i segnali si sovrappongono e si corrompono reciprocamente, rendendo impossibile la corretta ricezione dei dati. La probabilità di collisione aumenta con il numero di stazioni attive e con il carico di traffico sulla rete.

Dal punto di vista teorico, possiamo modellare questo scenario utilizzando la teoria delle code e i modelli di traffico. Consideriamo N stazioni che generano frame secondo un processo di Poisson con tasso λ per stazione. Il tasso totale di arrivo dei frame è quindi Nλ. Se indichiamo con T il tempo medio di trasmissione di un frame e con τ il tempo di propagazione massimo del segnale da un’estremità all’altra del segmento di rete, possiamo definire il periodo di vulnerabilità come 2τ, durante il quale una stazione potrebbe non rilevare che un’altra stazione ha iniziato a trasmettere.

2.2 Il Protocollo CSMA/CD

Ethernet risolve il problema dell’accesso multiplo attraverso il protocollo Carrier Sense Multiple Access with Collision Detection (CSMA/CD). Analizziamo le tre componenti fondamentali:

Carrier Sense (CS): Prima di trasmettere, una stazione “ascolta” il canale per determinare se è occupato. Se rileva attività (presenza di portante), attende che il canale diventi libero. Questo meccanismo è implementato a livello fisico attraverso circuiti che monitorano il livello del segnale sul cavo.

Multiple Access (MA): Tutte le stazioni hanno uguale diritto di accedere al canale quando questo è libero. Non esiste un coordinatore centrale o un meccanismo di arbitraggio a priori. Questa natura distribuita e democratica è uno dei punti di forza di Ethernet.

Collision Detection (CD): Anche con il carrier sense, le collisioni possono verificarsi a causa del ritardo di propagazione finito. Quando una stazione trasmette, continua a monitorare il canale per rilevare eventuali collisioni. Se viene rilevata una collisione (il segnale ricevuto differisce da quello trasmesso), la stazione interrompe immediatamente la trasmissione e invia un jam signal di 32 bit per assicurarsi che tutte le altre stazioni rilevino la collisione.

2.3 L’Algoritmo di Binary Exponential Backoff

Quando si verifica una collisione, le stazioni coinvolte devono ritentare la trasmissione dopo un intervallo casuale. L’algoritmo utilizzato da Ethernet è il Binary Exponential Backoff (BEB). Funziona nel seguente modo:

Dopo la k-esima collisione per lo stesso frame (con k ≤ 10), la stazione sceglie un numero casuale r nell’intervallo [0, 2^k - 1] e attende r × 512 bit time prima di ritentare. Per esempio:

Dopo 10 collisioni, l’intervallo viene mantenuto costante (2^10 = 1024). Dopo 16 tentativi consecutivi falliti, la trasmissione viene abbandonata e viene segnalato un errore ai livelli superiori.

Il bit time è definito come il tempo necessario per trasmettere un bit al tasso specificato. Per 10 Mbps Ethernet, un bit time è 100 nanosecondi, quindi 512 bit time corrispondono a 51,2 microsecondi.

L’efficienza del BEB è stata ampiamente studiata. In condizioni di basso carico, il protocollo è molto efficiente con un throughput che si avvicina alla capacità del canale. Tuttavia, in condizioni di sovraccarico, l’efficienza degrada significativamente. Analisi teoriche hanno dimostrato che il throughput massimo teorico del CSMA/CD è circa:

S = 1 / (1 + 5a)

dove a = τ/T è il rapporto tra il tempo di propagazione e il tempo di trasmissione. Per valori tipici di a, questo si traduce in un’efficienza del 80-90% in condizioni ideali.

2.4 Vincoli Temporali e Limiti Fisici

Per garantire che CSMA/CD funzioni correttamente, devono essere soddisfatti alcuni vincoli temporali fondamentali. Il più importante è il tempo di contesa (contention time), che deve essere sufficientemente lungo da permettere a una stazione di rilevare una collisione prima di completare la trasmissione di un frame.

Il tempo di contesa minimo è 2τ, dove τ è il tempo di propagazione massimo end-to-end. Questo perché, nel caso peggiore, una stazione A inizia a trasmettere un istante prima che il segnale di una stazione B (all’estremità opposta del cavo) la raggiunga. Il segnale di A impiega τ per raggiungere B, dove si verifica la collisione, e il segnale di collisione impiega altri τ per tornare ad A.

Per assicurare che la collisione sia rilevata, la trasmissione minima deve durare almeno 2τ. Questo porta alla definizione della lunghezza minima del frame. Per 10 Mbps Ethernet con una lunghezza massima del segmento di 2500 metri e considerando la velocità di propagazione nei cavi (circa 2/3 della velocità della luce), si ottiene:

2τ ≈ 51,2 μs

In questo tempo, a 10 Mbps vengono trasmessi 512 bit (64 byte), che diventa quindi la dimensione minima del frame Ethernet. Frame più piccoli vengono “paddati” per raggiungere questa dimensione minima.

Questo vincolo impone anche limiti sulla lunghezza massima del cavo e sul numero di ripetitori che possono essere utilizzati in un segmento Ethernet. Per 10BASE5 (thick Ethernet), la regola 5-4-3 specifica che possono esserci al massimo 5 segmenti di cavo, connessi da 4 ripetitori, con al massimo 3 segmenti popolati da stazioni.

3. Struttura del Frame Ethernet

3.1 Il Frame Ethernet DIX

Il frame Ethernet originale, definito dalla specifica DIX (Digital, Intel, Xerox) versione 2, aveva la seguente struttura:

+-------------+-------------+-------------+---------+-----------+-----+
| Preamble    | Dest. MAC   | Source MAC  | Type    | Payload   | FCS |
| 8 byte      | 6 byte      | 6 byte      | 2 byte  | 46-1500 B | 4 B |
+-------------+-------------+-------------+---------+-----------+-----+

Analizziamo ogni campo in dettaglio:

Preambolo (Preamble) e Start Frame Delimiter (SFD): I primi 8 byte del frame consistono in 7 byte di preambolo (pattern alternato di 1 e 0: 10101010) seguito da 1 byte di Start Frame Delimiter (10101011). Il preambolo serve per la sincronizzazione del clock del ricevitore con quello del trasmettitore. Nei sistemi Ethernet a 10 Mbps, questa sincronizzazione è critica perché il ricevitore deve campionare il segnale al momento giusto per ricostruire correttamente i bit. Il pattern alternato crea transizioni frequenti che permettono ai circuiti di recupero del clock (clock recovery circuits) di agganciarsi alla frequenza del segnale.

L’SFD indica l’inizio effettivo del frame. La variazione del pattern nell’ultimo bit (da 10 a 11) segnala al ricevitore che il contenuto del frame sta per iniziare.

Indirizzo MAC di Destinazione (6 byte): Identifica il destinatario del frame. Gli indirizzi MAC sono identificatori univoci a 48 bit assegnati alle interfacce di rete. I primi 24 bit costituiscono l’Organizationally Unique Identifier (OUI), assegnato dal IEEE a ciascun produttore, mentre i restanti 24 bit sono assegnati dal produttore stesso per identificare univocamente ogni interfaccia.

Il bit meno significativo del primo byte dell’indirizzo di destinazione ha un significato speciale: se è 0, l’indirizzo è unicast (destinato a una singola stazione); se è 1, l’indirizzo è multicast (destinato a un gruppo di stazioni). L’indirizzo broadcast (tutti i bit a 1: FF:FF:FF:FF:FF:FF) è un caso speciale di multicast che indica “tutte le stazioni”.

Indirizzo MAC Sorgente (6 byte): Identifica il mittente del frame. Per gli indirizzi sorgente, il bit di multicast è sempre 0 (non ha senso che un frame provenga da più sorgenti contemporaneamente). Il secondo bit meno significativo del primo byte indica se l’indirizzo è amministrato globalmente (0) o localmente (1).

Type (2 byte): Nel frame DIX, questo campo indica il protocollo di livello superiore incapsulato nel payload. Per esempio, il valore 0x0800 indica IPv4, 0x0806 indica ARP, 0x86DD indica IPv6. Questo permette la multiplazione di diversi protocolli di livello network sullo stesso link Ethernet.

Payload (46-1500 byte): Contiene i dati effettivi da trasportare. La dimensione minima di 46 byte è determinata dal requisito che il frame completo (escluso preambolo) sia di almeno 64 byte per garantire la corretta rilevazione delle collisioni. La dimensione massima di 1500 byte è chiamata Maximum Transmission Unit (MTU) e rappresenta un compromesso tra efficienza (frame più grandi riducono l’overhead) e latenza (frame più piccoli riducono il tempo di trasmissione).

Se il payload è inferiore a 46 byte, vengono aggiunti byte di padding per raggiungere la dimensione minima.

Frame Check Sequence - FCS (4 byte): Contiene un Cyclic Redundancy Check (CRC) a 32 bit calcolato su tutti i campi del frame esclusi preambolo, SFD e FCS stesso. Il CRC permette di rilevare errori nella trasmissione causati da rumore, interferenze o altri fenomeni fisici.

3.2 Il Frame IEEE 802.3

Lo standard IEEE 802.3 introdusse alcune modifiche al frame originale DIX:

+----------+----------+----------+----------+-------+-----------+-----+
| Preamble | Dest MAC | Src MAC  | Length   | LLC   | Payload   | FCS |
| 8 byte   | 6 byte   | 6 byte   | 2 byte   | 3-8 B | var       | 4 B |
+----------+----------+----------+-------+----------+-----------+-----+

La differenza principale rispetto al frame DIX è che il campo Type è stato sostituito con un campo Length che indica la lunghezza del payload. Per distinguere tra i due formati, si utilizza il seguente criterio: valori ≤ 1500 indicano la lunghezza (formato IEEE 802.3), mentre valori ≥ 1536 (0x0600) indicano il tipo di protocollo (formato DIX).

Nel frame IEEE 802.3, l’informazione sul protocollo di livello superiore è contenuta nell’header LLC (Logical Link Control) che segue il campo Length. L’header LLC include:

In pratica, il formato DIX è diventato il più diffuso, tanto che lo standard IEEE 802.3 ha successivamente incorporato la possibilità di utilizzare il campo Type. Il frame Ethernet moderno, definito nello standard IEEE 802.3-2018, è essenzialmente identico al frame DIX.

3.3 Il Frame Ethernet Tagged (802.1Q)

Con l’introduzione delle VLAN (Virtual Local Area Networks), lo standard IEEE 802.1Q ha definito un’estensione del frame Ethernet per includere informazioni di tagging:

+----------+----------+----------+------+-----+----------+-----------+-----+
| Preamble | Dest MAC | Src MAC  | TPID | TCI | Type/Len | Payload   | FCS |
| 8 byte   | 6 byte   | 6 byte   | 2 B  | 2 B | 2 byte   | 46-1500 B | 4 B |
+----------+----------+----------+------+-----+----------+-----------+-----+

Il tag 802.1Q si inserisce tra l’indirizzo MAC sorgente e il campo Type/Length e consiste di:

TPID (Tag Protocol Identifier, 2 byte): Valore fisso 0x8100 che identifica il frame come tagged.

TCI (Tag Control Information, 2 byte): Suddiviso in tre sottocampi:

L’introduzione del tag aumenta la dimensione del frame di 4 byte, portando la lunghezza massima a 1522 byte (escluso preambolo). Alcuni switch supportano anche il double tagging (Q-in-Q, IEEE 802.1ad), dove due tag VLAN vengono inseriti nel frame, permettendo la creazione di VLAN gerarchiche.

3.4 Jumbo Frames

Sebbene lo standard Ethernet definisca una MTU di 1500 byte, molte implementazioni moderne supportano i cosiddetti “Jumbo Frames” con MTU fino a 9000 byte o più. L’uso di Jumbo Frames può aumentare significativamente l’efficienza per trasferimenti di dati di grandi dimensioni, riducendo l’overhead dei protocolli di livello superiore e il carico di elaborazione sui dispositivi terminali.

L’efficienza può essere quantificata considerando l’overhead. Per un frame standard:

Efficienza = 1500 / (1500 + 38) = 97.5%

Per un Jumbo Frame da 9000 byte:

Efficienza = 9000 / (9000 + 38) = 99.6%

Tuttavia, i Jumbo Frames non sono standardizzati da IEEE e la loro dimensione massima varia tra produttori. Inoltre, tutti i dispositivi nel percorso devono supportare la stessa MTU, altrimenti si verifica frammentazione o scarto dei pacchetti.

4. Il Livello Fisico di Ethernet

4.1 Codifiche del Segnale

La trasmissione dei bit su un mezzo fisico richiede una codifica appropriata che converta la sequenza binaria in un segnale elettrico o ottico. Nel corso dell’evoluzione di Ethernet, sono state utilizzate diverse tecniche di codifica.

Manchester Encoding (10BASE-T): Nelle prime implementazioni Ethernet a 10 Mbps, veniva utilizzata la codifica Manchester. In questa codifica, ogni bit è rappresentato da una transizione: un bit ‘0’ è codificato come una transizione da alto a basso nel mezzo del periodo di bit, mentre un bit ‘1’ è codificato come una transizione da basso ad alto. Questa codifica garantisce che ci siano sempre transizioni nel segnale, facilitando la sincronizzazione del clock, ma ha lo svantaggio di richiedere una banda doppia rispetto alla velocità dei dati (per trasmettere a 10 Mbps sono necessari 20 MHz di banda).

4B/5B + NRZI (100BASE-TX, Fast Ethernet): Con l’aumento della velocità a 100 Mbps, la codifica Manchester sarebbe diventata troppo costosa in termini di banda. Fast Ethernet utilizza invece una codifica 4B/5B combinata con NRZI (Non-Return-to-Zero Inverted). Nella codifica 4B/5B, ogni gruppo di 4 bit di dati viene mappato in un simbolo di 5 bit scelto in modo da garantire un numero sufficiente di transizioni. I 16 simboli 4B/5B sono selezionati tra i 32 possibili in modo da non avere mai più di tre zeri o uno consecutivi. Successivamente, la sequenza di simboli 5B viene trasmessa usando NRZI, dove un ‘1’ è rappresentato da una transizione e uno ‘0’ dall’assenza di transizione.

Il vantaggio della codifica 4B/5B è che richiede solo il 25% di banda aggiuntiva (125 MHz per 100 Mbps) invece del 100% della codifica Manchester.

8B/10B (Gigabit Ethernet su fibra, 1000BASE-X): Per Gigabit Ethernet su fibra ottica, viene utilizzata la codifica 8B/10B, originariamente sviluppata da IBM. Ogni byte (8 bit) viene mappato in un simbolo di 10 bit. La scelta dei simboli 10B è fatta in modo da garantire:

La codifica 8B/10B richiede una velocità di segnalazione di 1.25 Gbaud per trasmettere 1 Gbps di dati effettivi.

PAM-5 (1000BASE-T, Gigabit Ethernet su rame): Gigabit Ethernet su cavi di rame categoria 5 utilizza una codifica più sofisticata chiamata PAM-5 (Pulse Amplitude Modulation con 5 livelli). Invece di trasmettere bit binari, PAM-5 trasmette simboli che possono assumere 5 diversi livelli di ampiezza. Questa codifica multinivel permette di trasmettere più bit per simbolo, riducendo la velocità di segnalazione richiesta.

In 1000BASE-T, i dati vengono trasmessi simultaneamente su tutti e quattro i twisted pair del cavo, con ogni coppia che trasporta 250 Mbps. Combinando la trasmissione parallela con la codifica PAM-5 e tecniche avanzate di cancellazione dell’eco e della diafonia (crosstalk), è possibile raggiungere 1 Gbps su cavi Cat5.

64B/66B (10 Gigabit Ethernet e superiori): Per 10GbE e velocità superiori, viene utilizzata la codifica 64B/66B. Blocchi di 64 bit di dati vengono codificati aggiungendo un header di 2 bit, risultando in una efficienza del 97%. Questa codifica ha sostituito la 8B/10B perché offre maggiore efficienza e minore latenza.

4.2 Mezzi Trasmissivi

Ethernet supporta diversi tipi di mezzi trasmissivi, ciascuno con caratteristiche specifiche:

Cavo Coassiale: Utilizzato nelle prime implementazioni (10BASE5, thick coax e 10BASE2, thin coax). Il cavo coassiale offre buona immunità al rumore grazie alla schermatura ma è difficile da installare e modificare. Queste varianti sono ormai obsolete.

Twisted Pair (Doppino Intrecciato): Il mezzo più comune per Ethernet moderno. L’intreccio dei conduttori riduce l’interferenza elettromagnetica. Esistono diverse categorie:

I cavi twisted pair utilizzano connettori RJ-45 a 8 pin. Le coppie sono codificate con colori specifici secondo gli standard T568A o T568B.

Fibra Ottica: Utilizzata per collegamenti a lunga distanza e alta velocità. La fibra offre immunità totale alle interferenze elettromagnetiche e supporta distanze molto maggiori del rame. Esistono due tipi principali:

Fibra Multimodale (MMF): Permette a più modi di propagazione della luce di viaggiare simultaneamente. È più economica ma limitata in distanza (tipicamente fino a 550 metri per 10 Gbps) a causa della dispersione modale.

Fibra Monomodale (SMF): Permette solo un modo di propagazione, offrendo distanze molto maggiori (decine di chilometri) con minore dispersione. È più costosa e richiede laser più precisi.

Gli standard Ethernet su fibra includono:

4.3 Autonegotiation

L’autonegotiation è un meccanismo definito nello standard IEEE 802.3u che permette a due dispositivi Ethernet connessi di negoziare automaticamente i parametri operativi ottimali. Il processo di autonegotiation avviene quando viene stabilito un collegamento fisico e determina:

  1. La velocità di trasmissione (10/100/1000/10000 Mbps)
  2. La modalità duplex (half-duplex o full-duplex)
  3. Il controllo di flusso (flow control)

Il protocollo di autonegotiation utilizza Fast Link Pulses (FLP) per scambiare informazioni sulle capacità. Ogni FLP è una sequenza di impulsi elettrici codificati che rappresentano una “pagina” di informazioni. La pagina base contiene:

Il processo di autonegotiation segue questa sequenza:

  1. Entrambi i dispositivi trasmettono le loro FLP contenenti le capacità supportate
  2. Ogni dispositivo riceve le FLP del partner e determina le capacità comuni
  3. Viene selezionata la combinazione ottimale secondo una tabella di priorità standardizzata
  4. Entrambi i dispositivi si configurano con i parametri negoziati

La tabella di priorità IEEE 802.3 è (dalla più alta alla più bassa):

  1. 10GBASE-T full duplex
  2. 1000BASE-T full duplex
  3. 1000BASE-T half duplex
  4. 100BASE-TX full duplex
  5. 100BASE-T2 full duplex
  6. 100BASE-TX half duplex
  7. 100BASE-T2 half duplex
  8. 10BASE-T full duplex
  9. 10BASE-T half duplex

Se l’autonegotiation fallisce, alcuni dispositivi tentano di rilevare automaticamente la velocità del partner analizzando i segnali ricevuti, ma la modalità duplex viene impostata a half-duplex per sicurezza, il che può causare problemi di prestazioni (duplex mismatch).

5. Topologie di Rete Ethernet

5.1 Bus Condiviso (Ethernet Classico)

La topologia originale di Ethernet utilizzava un bus condiviso realizzato con cavo coassiale. Tutte le stazioni erano collegate fisicamente allo stesso segmento di cavo attraverso transceiver. Questa topologia aveva caratteristiche specifiche:

Vantaggi:

Svantaggi:

Con N stazioni attive che generano traffico, il throughput effettivo per stazione diminuisce all’aumentare di N a causa delle collisioni crescenti. Per N grande, il throughput tende a:

Throughput_per_stazione ≈ Capacità / (N × e)

dove e è la base del logaritmo naturale (circa 2.718), rappresentando l’inefficienza del CSMA/CD in condizioni di alto carico.

5.2 Stella con Hub (Ethernet 10BASE-T)

L’introduzione di 10BASE-T segnò un cambiamento topologico importante: invece di un bus fisico condiviso, le stazioni erano connesse a un hub centrale attraverso cavi twisted pair in una topologia a stella. Tuttavia, dal punto di vista logico, l’hub funzionava come un ripetitore multiporta, ricostruendo elettricamente il bus condiviso:

Vantaggi rispetto al bus:

Svantaggi persistenti:

5.3 Stella con Switch (Ethernet Commutato)

L’evoluzione più significativa nella topologia Ethernet è stata l’introduzione degli switch. Uno switch Ethernet è un dispositivo di livello 2 che opera in modo fondamentalmente diverso da un hub:

Funzionamento di base dello switch:

  1. Mantiene una tabella di forwarding (MAC address table) che mappa indirizzi MAC a porte
  2. Quando riceve un frame, esamina l’indirizzo MAC di destinazione
  3. Se l’indirizzo è nella tabella, inoltra il frame solo sulla porta appropriata
  4. Se l’indirizzo non è noto, effettua flooding (invia su tutte le porte eccetto quella di origine)
  5. Impara gli indirizzi MAC sorgente dai frame ricevuti e aggiorna la tabella

Domini di collisione separati: Ogni porta di uno switch costituisce un dominio di collisione separato. Quando opera in full-duplex, le collisioni sono completamente eliminate perché la trasmissione e la ricezione avvengono su percorsi separati.

Commutazione simultanea: Lo switch può inoltrare frame simultaneamente tra diverse coppie di porte (commutazione parallela), moltiplicando il throughput aggregato della rete.

Bandwidth dedicata: Ogni stazione connessa a una porta switch ha accesso all’intera larghezza di banda della porta, non condivisa con altre stazioni.

Per esempio, uno switch a 24 porte 1 Gbps ha un throughput aggregato teorico di:

Throughput_aggregato = 24 × 1 Gbps × 2 (full duplex) = 48 Gbps

Naturalmente, il throughput effettivo dipende dal pattern di traffico e dalla capacità dello switching fabric interno.

5.4 Topologie Gerarchiche

Nelle reti aziendali moderne, Ethernet è tipicamente organizzato in una gerarchia a tre livelli:

Access Layer (Livello di Accesso): Switch a cui si connettono direttamente i dispositivi terminali (workstation, stampanti, access point WiFi). Questi switch forniscono connettività ad alta densità di porte con velocità moderate (tipicamente 1 Gbps per porta).

Distribution Layer (Livello di Distribuzione): Switch che aggregano il traffico dal livello di accesso e forniscono connettività tra diversi segmenti di rete. Implementano politiche di sicurezza, VLAN routing, e QoS. Utilizzano collegamenti ad alta velocità (10/25/40 Gbps) verso il livello di accesso e quello core.

Core Layer (Livello Core): Switch ad altissime prestazioni che forniscono trasporto veloce tra diversi segmenti del livello di distribuzione. Ottimizzati per throughput massimo e latenza minima, con collegamenti tipicamente a 40/100/400 Gbps. Non implementano funzionalità complesse per minimizzare la latenza.

Questa architettura gerarchica offre:

6. Bridging e Switching

6.1 Bridge Trasparenti

Un bridge Ethernet è un dispositivo di livello 2 che connette due o più segmenti LAN, inoltrando selettivamente i frame tra segmenti diversi. Il concetto di “trasparenza” significa che le stazioni terminali non sono consapevoli della presenza del bridge: non richiedono configurazione speciale e il bridge opera in modo invisibile.

Algoritmo di forwarding del bridge:

Il bridge mantiene una forwarding database (FDB) che mappa indirizzi MAC a interfacce. Per ogni frame ricevuto:

1. Estrai indirizzo MAC sorgente e destinazione
2. Aggiorna FDB: associa MAC_sorgente all'interfaccia di ricezione
3. Consulta FDB per MAC_destinazione:
   a. Se trovato e interfaccia = interfaccia_ricezione → Filtra (non inoltrare)
   b. Se trovato e interfaccia ≠ interfaccia_ricezione → Forward su quella interfaccia
   c. Se non trovato → Flooding su tutte le interfacce eccetto quella di ricezione

Aging: Le entry nella FDB hanno un timer di aging (tipicamente 300 secondi). Se un indirizzo non viene visto per questo periodo, l’entry viene rimossa. Questo permette al bridge di adattarsi ai cambiamenti nella topologia (stazioni che si muovono o vengono disconnesse).

Vantaggi del bridging:

Limitazioni:

6.2 Spanning Tree Protocol (STP)

In una rete con bridge multipli, possono formarsi loop topologici che causano problemi gravi:

Il Spanning Tree Protocol (IEEE 802.1D) risolve questi problemi costruendo una topologia ad albero (senza loop) sopra la topologia fisica arbitraria.

Concetti fondamentali di STP:

  1. Root Bridge: Un bridge viene eletto come radice dell’albero (root bridge). Tutti i percorsi convergono verso il root bridge.

  2. Root Path Cost: Per ogni bridge, è calcolato il costo del percorso più breve verso il root bridge. Il costo è tipicamente inversamente proporzionale alla velocità del link:

  3. Bridge ID: Ogni bridge ha un identificatore univoco costituito da:

  4. Port Roles: Ogni porta di un bridge può assumere uno dei seguenti ruoli:

Algoritmo STP:

  1. Elezione del Root Bridge: Il bridge con il Bridge ID più piccolo diventa root. Inizialmente, ogni bridge si considera root e invia Bridge Protocol Data Units (BPDU) che annunciano il proprio ID come root.

  2. Calcolo del Root Path Cost: Ogni bridge calcola il costo per raggiungere il root bridge sommando i costi dei link lungo il percorso.

  3. Elezione delle Root Port: Su ogni bridge non-root, la porta con il root path cost minimo diventa root port.

  4. Elezione delle Designated Port: Per ogni segmento LAN, il bridge con il root path cost minimo verso il root bridge designa la propria porta su quel segmento come designated port.

  5. Blocco delle porte rimanenti: Tutte le porte che non sono né root port né designated port vengono poste in stato blocking.

Stati delle porte STP:

Le porte attraversano diversi stati durante la convergenza:

Il tempo totale di convergenza di STP classico è circa 50 secondi (20 secondi di Max Age + due Forward Delay di 15 secondi ciascuno), durante i quali la rete può essere indisponibile.

BPDU Format:

Le BPDU contengono:

6.3 Rapid Spanning Tree Protocol (RSTP)

Il Rapid Spanning Tree Protocol (IEEE 802.1w) è un’evoluzione di STP che riduce drasticamente i tempi di convergenza, da circa 50 secondi a pochi secondi o anche meno di un secondo in scenari ottimali.

Innovazioni di RSTP:

  1. Nuovi ruoli delle porte:

  2. Nuovi stati delle porte: RSTP semplifica gli stati a:

  3. Proposta/Accordo (Proposal/Agreement): Quando un bridge deve designare una porta, invia una proposta. Se il bridge ricevente può accettare senza creare loop, risponde immediatamente con un accordo. Questo elimina i timer di Forward Delay in molte situazioni.

  4. Edge Ports: Porte connesse a dispositivi terminali (non bridge) possono essere configurate come edge port e transitare immediatamente a Forwarding, evitando i delay di convergenza.

  5. Link Types:

  6. BPDU più frequenti: In RSTP, ogni bridge genera i propri BPDU ogni Hello Time, invece di relay le BPDU del root. Questo permette rilevamento più rapido dei guasti.

Convergenza Rapida:

In una topologia point-to-point ottimale, RSTP può convergere in circa 2 × Hello Time (tipicamente 4 secondi). Nei casi migliori, con failover su porte alternate già pronte, la convergenza può essere praticamente istantanea (< 1 secondo).

6.4 Switch Avanzati e Tecniche di Commutazione

Gli switch moderni implementano diverse tecniche per ottimizzare le prestazioni:

Store-and-Forward: Lo switch riceve l’intero frame, verifica il FCS, e solo poi inizia a inoltrarlo. Questo previene la propagazione di frame corrotti ma introduce latenza pari al tempo di ricezione del frame.

Cut-Through: Lo switch inizia a inoltrare il frame appena ha letto l’indirizzo MAC di destinazione, senza attendere il frame completo. Questo riduce la latenza ma può propagare frame corrotti. Alcuni switch usano “adaptive cut-through”, passando a store-and-forward se viene rilevato un numero elevato di errori.

Fragment-Free: Una variante di cut-through che attende almeno i primi 64 byte (dimensione minima del frame) prima di inoltrare. Questo elimina i frammenti di collisione ma è più veloce del store-and-forward completo.

Buffering e Queueing:

Gli switch mantengono buffer per gestire congestioni temporanee:

Switching Fabric:

Il cuore di uno switch è lo switching fabric, il sistema che trasferisce frame dalle porte di ingresso a quelle di uscita. Esistono diverse architetture:

Lo switching fabric è caratterizzato dalla sua capacità aggregata, tipicamente espressa in Gbps o Tbps. Uno switch a 48 porte 10GbE full-duplex richiede una capacità minima di:

48 × 10 Gbps × 2 (full duplex) = 960 Gbps

Gli switch moderni spesso hanno capacità superiore al minimo teorico per garantire prestazioni anche in scenari di traffico worst-case.

7. Virtual LANs (VLAN)

7.1 Concetti Fondamentali delle VLAN

Una Virtual LAN (VLAN) è un gruppo logico di dispositivi che appaiono essere sullo stesso segmento di rete anche se sono fisicamente distribuiti su diversi switch. Le VLAN forniscono segmentazione a livello 2, creando broadcast domain separati all’interno della stessa infrastruttura fisica.

Motivazioni per l’uso delle VLAN:

  1. Segmentazione del Broadcast Domain: In una rete flat tradizionale, i broadcast si propagano a tutte le stazioni. Con le VLAN, i broadcast sono confinati alla VLAN di origine.

  2. Sicurezza: Dispositivi in VLAN diverse non possono comunicare direttamente a livello 2, anche se connessi allo stesso switch fisico. La comunicazione inter-VLAN richiede routing (livello 3).

  3. Organizzazione Logica: Le VLAN permettono di raggruppare dispositivi per funzione, dipartimento, progetto, ecc., indipendentemente dalla collocazione fisica.

  4. Flessibilità: Spostare un dispositivo da una VLAN all’altra è una semplice riconfigurazione, senza modifiche fisiche al cablaggio.

  5. Gestione del Traffico: Le VLAN facilitano l’applicazione di politiche QoS e di sicurezza diverse per diversi gruppi di utenti.

7.2 Tipi di VLAN

VLAN Port-Based (Untagged VLAN): La forma più semplice di VLAN. Ogni porta dello switch è assegnata a una specifica VLAN. I frame ricevuti su quella porta appartengono automaticamente a quella VLAN. Questo è trasparente per i dispositivi terminali che non hanno consapevolezza delle VLAN.

Tagged VLAN (IEEE 802.1Q): Utilizza il tag 802.1Q descritto precedentemente. Permette a una singola porta di trasportare traffico per multiple VLAN (trunk port). I frame sono esplicitamente marcati con il VLAN ID.

VLAN Dinamiche: L’assegnazione della VLAN è basata su criteri dinamici come:

Questo richiede un server centrale (tipicamente un database RADIUS o un sistema di gestione della rete) che mantiene le mappature.

7.3 Trunk Ports e Native VLAN

Un trunk port è configurato per trasportare traffico di multiple VLAN utilizzando il tagging 802.1Q. I frame sulle trunk port sono generalmente tagged, eccetto per una VLAN speciale chiamata Native VLAN.

Native VLAN: È la VLAN predefinita per frame untagged ricevuti su una trunk port. Per esempio, se Native VLAN è impostata a VLAN 1 e uno switch riceve un frame untagged su una trunk, il frame viene assegnato alla VLAN 1.

Configurazione esempio su uno switch Cisco:

interface GigabitEthernet0/1
 switchport mode trunk
 switchport trunk allowed vlan 10,20,30,40
 switchport trunk native vlan 1

Considerazioni di Sicurezza: La Native VLAN presenta vulnerabilità di sicurezza (VLAN hopping attacks). Best practice moderne raccomandano:

7.4 VLAN Trunking Protocol (VTP)

VTP è un protocollo proprietario Cisco che propaga le informazioni di configurazione delle VLAN tra switch. Permette di gestire centralmente le VLAN, aggiungendo, eliminando o modificando VLAN su un server VTP e propagando automaticamente le modifiche agli switch client.

Modalità VTP:

  1. Server Mode: Può creare, modificare, eliminare VLAN. Invia advertisement VTP.
  2. Client Mode: Non può modificare VLAN localmente. Riceve e applica advertisement VTP.
  3. Transparent Mode: Può modificare VLAN localmente ma non partecipa alla sincronizzazione VTP. Inoltra advertisement VTP senza applicarle.

VTP Advertisement: Contengono:

VTP usa il concetto di revision number: ogni modifica alla configurazione VLAN incrementa il revision number. Gli switch applicano advertisement solo se hanno un revision number superiore alla loro configurazione locale.

Problemi di VTP: Sebbene VTP possa semplificare la gestione, ha causato numerosi incidenti di rete. Se uno switch con un revision number alto ma configurazione obsoleta viene introdotto nel dominio VTP, può sovrascrivere le VLAN corrette su tutti gli switch. Per questo motivo, molte organizzazioni disabilitano VTP e gestiscono le VLAN manualmente.

7.5 Private VLAN (PVLAN)

Le Private VLAN aggiungono un ulteriore livello di isolamento all’interno di una singola VLAN. Utili in scenari come hosting provider o campus dove si vuole isolare utenti all’interno dello stesso broadcast domain logico.

Tipi di porte PVLAN:

Esempio di utilizzo: Un ISP con 100 clienti sullo stesso switch:

Questo previene che i clienti si vedano reciprocamente a livello 2, migliorando sicurezza e privacy.

8. Quality of Service (QoS) in Ethernet

8.1 Necessità del QoS

Ethernet tradizionale non fornisce differenziazione del servizio: tutti i frame sono trattati con la stessa priorità (best-effort). Con l’aumento del traffico in tempo reale (VoIP, videoconferenze, streaming) e applicazioni mission-critical, è emersa la necessità di garantire prestazioni diverse per diverse classi di traffico.

Parametri di QoS:

8.2 IEEE 802.1p - Priority Code Point (PCP)

Lo standard IEEE 802.1Q include il campo Priority Code Point (PCP) di 3 bit nel tag VLAN, permettendo 8 livelli di priorità (0-7). Anche se le frame non sono necessariamente in una VLAN specifica, possono essere tagged solo per la priorità.

Mappatura delle priorità:

PCP Priority Traffic Type
0 Best Effort Traffico standard
1 Background Backup, trasferimenti non urgenti
2 Spare -
3 Excellent Effort Business-critical
4 Controlled Load Streaming video
5 Video Video interattivo, < 100ms latenza
6 Voice VoIP, < 10ms latenza
7 Network Control Protocolli di gestione rete

Gli switch QoS-capable esaminano il campo PCP e accodano i frame in code di priorità diverse, servite con algoritmi di scheduling appropriati.

8.3 Algoritmi di Scheduling

Gli switch utilizzano diversi algoritmi per decidere quale frame trasmettere quando multiple code contengono dati:

Strict Priority (SP): Le code sono servite in ordine di priorità stretto. La coda di priorità più alta viene completamente svuotata prima di servire code di priorità inferiore. Semplice ma può causare starvation delle code a bassa priorità sotto carico pesante.

Weighted Round Robin (WRR): Ogni coda riceve una porzione di bandwidth proporzionale al suo peso. Per esempio, con code di peso 1:2:4, la coda di peso 4 riceve 4/7 della bandwidth, quella di peso 2 riceve 2/7, e quella di peso 1 riceve 1/7.

Deficit Weighted Round Robin (DWRR): Simile a WRR ma tiene conto delle dimensioni variabili dei frame. Ogni coda ha un “deficit counter” che accumula crediti. Una coda può trasmettere solo se il suo deficit counter è sufficiente per coprire la dimensione del frame corrente.

Weighted Fair Queueing (WFQ): Simula il bit-by-bit round robin. Ogni frame riceve un “virtual finish time” e i frame sono trasmessi in ordine di finish time. Questo garantisce fairness e limiti stretti sulla latenza.

Hierarchical Scheduling: Gli switch avanzati combinano algoritmi, per esempio usando SP tra alcune code e WRR all’interno di gruppi di code.

8.4 Traffic Shaping e Policing

Traffic Shaping: Controllo del rate di trasmissione per conformarsi a un profilo specificato. Il traffic shaper bufferizza pacchetti che eccedono il rate e li trasmette successivamente, mantenendo una velocità media specificata. Utile per:

Algoritmi comuni: Token Bucket, Leaky Bucket

Token Bucket: Un bucket virtuale accumula token a un rate costante (Committed Information Rate, CIR). Ogni frame richiede un certo numero di token proporzionale alla sua dimensione. Se non ci sono abbastanza token, il frame viene bufferizzato. Permette burst fino alla capacità del bucket (Committed Burst Size, CBS).

Traffic Policing: Simile allo shaping ma invece di bufferizzare frame che eccedono il rate, li scarta o li marca con priorità inferiore (remarking). Applicato tipicamente ai bordi della rete per forzare conformità agli SLA.

8.5 IEEE 802.1Qav - Audio Video Bridging (AVB)

AVB è un insieme di standard (ora chiamato Time-Sensitive Networking, TSN) progettato per supportare traffico audio/video professionale su Ethernet standard. Include:

IEEE 802.1AS (Timing and Synchronization): Profilo di IEEE 1588 Precision Time Protocol (PTP) ottimizzato per reti locali. Permette sincronizzazione temporale con precisione submicrosecond tra dispositivi.

IEEE 802.1Qat (Stream Reservation Protocol): Protocollo per riservare bandwidth end-to-end per stream audio/video. Un dispositivo sorgente richiede la prenotazione di risorse e gli switch lungo il percorso confermano se possono garantire la bandwidth.

IEEE 802.1Qav (Forwarding and Queuing): Definisce algoritmi di queueing specifici per traffico AVB. Il Credit-Based Shaper (CBS) garantisce che il traffico AVB riceva la bandwidth prenotata mentre permette a traffico best-effort di utilizzare bandwidth non usata.

Credit-Based Shaper: Ogni coda AVB ha un credit counter che aumenta quando la coda è idle e diminuisce durante la trasmissione. Una coda può trasmettere solo con credit positivo. Questo previene che il traffico AVB monopolizzi il link mantenendo comunque latenza limitata.

9. Ethernet ad Alta Velocità

9.1 Sfide Tecniche

L’evoluzione verso velocità sempre maggiori ha richiesto affrontare diverse sfide:

Dispersion e Attenuation: Ai Gigabit e oltre, gli effetti di dispersione del segnale diventano significativi. La dispersione cromatica nelle fibre e la dispersione di modo nelle fibre multimodali limitano le distanze raggiungibili.

Clock Recovery: A velocità elevate, recuperare il clock dal segnale ricevuto diventa più critico e complesso. Tecniche come Phase-Locked Loop (PLL) ad alta precisione sono necessarie.

Skew tra Lane: Nelle implementazioni che usano multiple lane parallele (come 40GBASE-R4 e 100GBASE-R4), è necessario compensare lo skew - le differenze nei ritardi tra le diverse lane.

Power Consumption: La potenza dissipata aumenta rapidamente con la velocità. Le ottiche a 400 Gbps possono dissipare decine di watt, richiedendo raffreddamento attivo.

Costo: Componenti ottici ad alta velocità (laser, photodiode, transceiver) sono costosi. C’è un continuo trade-off tra prestazioni e costi.

9.2 10 Gigabit Ethernet (10GbE)

Standardizzato nel 2002 (IEEE 802.3ae), 10GbE ha introdotto diversi cambiamenti significativi:

Eliminazione di CSMA/CD: 10GbE supporta solo full-duplex. Senza half-duplex, CSMA/CD non è necessario. Questo semplifica l’implementazione e elimina le limitazioni di distanza legate al collision detection.

WAN PHY: Oltre al LAN PHY standard, 10GbE definisce un WAN PHY compatibile con SONET/SDH OC-192c. Questo facilita l’integrazione con infrastrutture di telecomunicazioni esistenti.

Varianti 10GbE:

10GBASE-T: Particolarmente interessante perché permette 10 Gbps su cavo di rame standard, sfruttando le infrastrutture di cablaggio esistenti. Utilizza codifica PAM-16 (16 livelli) su tutte e quattro le coppie, con tecniche avanzate di cancellazione della diafonia e correzione degli errori (LDPC - Low-Density Parity-Check codes).

La potenza dissipata di 10GBASE-T è significativa (4-8W per porta), notevolmente superiore alle interfacce ottiche (1-2W).

9.3 40 e 100 Gigabit Ethernet

Lo standard IEEE 802.3ba (2010) ha definito simultaneamente 40GbE e 100GbE. L’approccio utilizzato è il lane multiplexing: invece di trasmettere 100 Gbps su una singola lane (estremamente difficile), il segnale è diviso in multiple lane parallele:

Varianti 40GbE:

Varianti 100GbE:

WDM (Wavelength Division Multiplexing): Tecnica che trasmette multiple lane su una singola fibra utilizzando lunghezze d’onda ottiche diverse. Questo riduce il numero di fibre necessarie. I sistemi CWDM (Coarse WDM) utilizzano spaziatura ampia tra wavelength, mentre DWDM (Dense WDM) usa spaziatura stretta, permettendo molte più lane.

Forward Error Correction (FEC): A velocità elevate, la probabilità di errore di bit (BER) aumenta. 100GbE ha introdotto FEC obbligatorio per alcune varianti. L’FEC aggiunge ridondanza ai dati trasmessi permettendo al ricevitore di correggere errori senza richiedere ritrasmissione. Il trade-off è overhead aggiuntivo (tipicamente 7-20%) e latenza (alcuni microsecondi).

9.4 200, 400 Gigabit Ethernet e Oltre

200GbE e 400GbE (IEEE 802.3bs, 2017) hanno continuato l’approccio multi-lane:

La sfida principale è stata sviluppare serializzatori/deserializzatori (SerDes) e componenti ottici capaci di operare a 50 Gbps per lane. Questo ha richiesto:

PAM-4 Signaling: Invece della codifica binaria tradizionale (NRZ - Non-Return to Zero), PAM-4 usa 4 livelli di ampiezza, permettendo di codificare 2 bit per simbolo. Questo raddoppia effettivamente il data rate per una data velocità di simbolo, ma richiede maggiore Signal-to-Noise Ratio (SNR) e FEC più robusto.

Advanced FEC: Codici Reed-Solomon (RS-FEC) e concatenated FEC che possono correggere errori con BER grezza fino a 10^-4, portandolo a meno di 10^-12 dopo correzione.

Integrazione e Co-packaging: Per ridurre perdite e migliorare prestazioni, c’è una tendenza verso co-packaging di ottiche e ASIC (Application-Specific Integrated Circuit). Invece di moduli pluggable separati, l’ottica è integrata direttamente nel package dello switch ASIC.

Standard futuri:

A queste velocità, sfide come il power budget (potenza disponibile per switch e ottiche) e il thermal management diventano critiche quanto le sfide di segnalazione.

9.5 Ethernet per Data Center

I data center moderni sono i principali driver per Ethernet ad alta velocità. Le architetture di data center hanno evoluzioni specifiche:

Leaf-Spine Architecture: Sostituisce le tradizionali architetture a tre livelli. Ogni switch leaf (connesso ai server) è collegato a ogni switch spine. Questa topologia fornisce:

RDMA over Converged Ethernet (RoCE): Trasporta traffico RDMA (Remote Direct Memory Access) su Ethernet. RDMA permette accesso diretto alla memoria di server remoti con latenza minima e overhead CPU ridotto, critico per applicazioni come storage distribuito e HPC.

Data Center Bridging (DCB): Suite di standard per rendere Ethernet adatto a storage:

Segment Routing over IPv6 (SRv6): Tecnica emergente che codifica percorsi nel header IPv6, permettendo traffic engineering sofisticato e separazione dei tenant in ambienti multi-tenant.

10. Power over Ethernet (PoE)

10.1 Fondamenti del PoE

Power over Ethernet permette di fornire alimentazione elettrica insieme ai dati sullo stesso cavo Ethernet, eliminando la necessità di alimentatori separati per dispositivi come telefoni IP, access point WiFi, telecamere IP, e sensori IoT.

Standard PoE:

10.2 Meccanismi Tecnici

Power Delivery: L’alimentazione può essere fornita in due modalità:

Alternative A: La potenza è fornita sulle stesse coppie usate per i dati (coppie 1-2 e 3-6 per 10/100BASE-T). Il PSE inietta DC bias su queste coppie, e il PD lo estrae senza interferire con il segnale AC dei dati.

Alternative B: La potenza è fornita sulle coppie spare (4-5 e 7-8 per 10/100BASE-T). Questo è possibile perché 10BASE-T e 100BASE-T usano solo due coppie per i dati.

Per 1000BASE-T e superiori, che usano tutte e quattro le coppie per i dati, entrambi i metodi iniettano potenza su tutte e quattro le coppie usando common-mode signaling che non interferisce con i dati differential-mode.

Discovery and Classification:

Prima di fornire potenza, il PSE deve determinare se il dispositivo connesso è PoE-capable e quanta potenza richiede:

  1. Detection: Il PSE applica una tensione di test (2.8-10V) e misura la resistenza. Un PD valido presenta una resistenza caratteristica (19-26.5 kΩ).

  2. Classification: Il PSE applica una tensione più alta (15.5-20.5V) e misura la corrente assorbita dal PD. La corrente indica la classe di potenza richiesta (0-8).

  3. Power Up: Il PSE attiva la potenza completa (44-57V DC per PoE/PoE+, fino a 52-57V per PoE++).

  4. Monitoring: Il PSE monitora continuamente la corrente. Se scende sotto una soglia minima o la connessione viene interrotta, il PSE disattiva la potenza.

Layer 2 Protocol - LLDP-MED: Per una negoziazione più sofisticata, i dispositivi possono usare Link Layer Discovery Protocol - Media Endpoint Discovery (LLDP-MED) per comunicare requisiti precisi di potenza, permettendo allocazione dinamica e ottimizzazione.

10.3 Progettazione di Sistemi PoE

Power Budget: Uno switch con 48 porte PoE+ (30W per porta) richiederebbe teoricamente 1440W. In pratica, raramente tutte le porte sono utilizzate al massimo simultaneamente. Gli switch hanno un power budget limitato (tipicamente 370-740W) e applicano allocazione dinamica o limitano il numero di porte PoE disponibili.

Considerazioni sul Cablaggio: La resistenza del cavo causa cadute di tensione. Per cavi Cat5e di 100m, la resistenza totale del loop (andata + ritorno) è circa 20Ω. Con 600mA (13W), la caduta di tensione è 12V, significativa rispetto ai 44-57V forniti. Cavi di qualità superiore (Cat6, Cat6a) hanno resistenza inferiore.

Dissipazione Termica: La potenza dissipata nel cavo è P = I²R. Per PoE++ Type 4 (960mA), con 20Ω: P = 0.96² × 20 ≈ 18.4W dissipati nel cavo stesso. Questo può aumentare la temperatura del cavo, particolarmente problematico in bundle di molti cavi dove il raffreddamento è limitato.

La norma TIA (Telecommunications Industry Association) raccomanda derating (riduzione della temperatura massima operativa) per bundle di cavi PoE, particolarmente per PoE++.

11. Ethernet Industriale e TSN

11.1 Requisiti delle Applicazioni Industriali

L’automazione industriale, il controllo di processo, e i sistemi cyber-fisici hanno requisiti molto più stringenti rispetto alle applicazioni IT tradizionali:

Determinismo: La comunicazione deve avere latenza predicibile con jitter minimo. Deadline mancate possono causare malfunzionamenti o situazioni pericolose.

Affidabilità: Bit Error Rate estremamente bassi, spesso con requisiti di ridondanza e failover rapido (< 1ms).

Sincronizzazione Temporale: Molte applicazioni richiedono sincronizzazione submicrosecond tra dispositivi distribuiti.

Ambienti Ostili: Resistenza a temperature estreme, vibrazioni, interferenze elettromagnetiche, e contaminanti.

11.2 Protocolli Ethernet Industriali Proprietari

Prima della standardizzazione TSN, diversi protocolli proprietari hanno esteso Ethernet per applicazioni industriali:

PROFINET: Sviluppato da Siemens, ampiamente usato in Europa. Definisce tre classi di comunicazione:

PROFINET IRT usa time slicing: il tempo è diviso in slot con timing preciso, con slot dedicati per traffico time-critical.

EtherCAT (Ethernet for Control Automation Technology): Sviluppato da Beckhoff. Utilizza un approccio master-slave con una topologia ad anello o linea. Il master invia frame che attraversano ogni slave. Ogni slave legge/scrive dati “on-the-fly” mentre il frame transita, senza buffering completo. Questo permette cicli di aggiornamento estremamente rapidi (< 100μs).

POWERLINK: Sviluppato da B&R. Utilizza un meccanismo di polling centralizzato con time slicing. Il managing node controlla rigorosamente l’accesso al medium.

CC-Link IE: Protocollo giapponese (Mitsubishi). Supporta velocità da 1 Gbps con topologie ad anello ridondante per alta affidabilità.

11.3 Time-Sensitive Networking (TSN)

TSN è una suite di standard IEEE 802.1 che trasforma Ethernet in una piattaforma per applicazioni time-critical, fornendo funzionalità deterministiche attraverso standard aperti invece di protocolli proprietari.

Standard TSN Principali:

IEEE 802.1AS-Rev (Timing and Synchronization): Profilo di PTP (Precision Time Protocol, IEEE 1588) ottimizzato per reti locali. Fornisce sincronizzazione temporale con precisione nanosecond. Il protocollo:

IEEE 802.1Qbv (Time-Aware Shaper): Scheduling basato su tempo. Ogni porta mantiene multiple code di trasmissione con “gate” che si aprono/chiudono secondo uno schedule configurato. Esempio:

Time Slot 1 (100μs): Gate[7] open (traffico time-critical)
Time Slot 2 (200μs): Gate[6] open (traffico video)
Time Slot 3 (700μs): Gate[0-5] open (best-effort)

Questo garantisce che traffico time-critical trasmetta senza interferenze, con latenza bounded.

IEEE 802.1Qbu/802.3br (Frame Preemption): Permette a frame time-critical di interrompere (preempt) frame best-effort già in trasmissione. Il frame interrotto viene messo in pausa, il frame time-critical viene trasmesso, e poi il frame interrotto riprende. Questo riduce drasticamente worst-case latency.

IEEE 802.1CB (Frame Replication and Elimination): Fornisce ridondanza seamless duplicando frame su percorsi diversi. Il ricevitore elimina duplicati, garantendo delivery affidabile anche in caso di guasto di un percorso. Recovery time può essere < 1ms.

IEEE 802.1Qci (Per-Stream Filtering and Policing): Filtering e policing per stream individuali, basato su Stream Identification. Previene che stream malevoli o mal configurati disturbino altri stream.

IEEE 802.1Qcc (Stream Reservation Protocol): Coordina la prenotazione di risorse end-to-end per stream TSN. Supporta tre modelli:

11.4 Applicazioni TSN

Automotive: TSN è parte della piattaforma Automotive Ethernet, sostituendo CAN, FlexRay, e MOST per infotainment, ADAS (Advanced Driver Assistance Systems), e comunicazioni intra-veicolo.

Manufacturing: Integrazione di IT e OT (Operational Technology) su una singola infrastruttura di rete, collegando PLC, robot, sensori, e sistemi MES (Manufacturing Execution System).

5G Fronthaul: Trasporto di segnali CPRI (Common Public Radio Interface) tra Remote Radio Heads e Baseband Units con requisiti di latenza submillisecond e sincronizzazione rigorosa.

Professional Audio/Video: Sostituzione di sistemi AVB per applicazioni broadcast e live production con requisiti ancora più stringenti.

11.5 Convergenza IT/OT

TSN rappresenta un passo fondamentale verso la convergenza tra IT (Information Technology) e OT (Operational Technology):

Benefici:

Sfide:

12. Sicurezza in Ethernet

12.1 Vulnerabilità Intrinseche

Ethernet tradizionale è stato progettato assumendo un ambiente fidato. Questo ha creato diverse vulnerabilità:

MAC Flooding: Un attaccante invia frame con indirizzi MAC sorgente casuali, riempiendo la tabella MAC dello switch. Quando la tabella è piena, lo switch può iniziare a comportarsi come un hub, inoltrando frame su tutte le porte (failopen), permettendo sniffing del traffico.

MAC Spoofing: L’attaccante falsifica il proprio indirizzo MAC per impersonare un altro dispositivo, bypassando controlli di accesso basati su MAC address.

ARP Spoofing: L’attaccante invia ARP reply falsificate, associando il proprio MAC address all’IP di un altro dispositivo (tipicamente il gateway). Questo permette man-in-the-middle attacks.

VLAN Hopping: Due tecniche principali:

Spanning Tree Attacks: L’attaccante invia BPDU falsificate per diventare root bridge o per alterare la topologia, causando denial of service o permettendo man-in-the-middle.

DHCP Starvation/Spoofing: Esaurimento del pool DHCP o fornitura di configurazioni DHCP falsificate (rogue DHCP server).

12.2 Tecniche di Mitigazione a Livello 2

Port Security: Limita il numero di indirizzi MAC che possono essere appresi su una porta e/o specifica staticamente quali MAC address sono permessi. Configurazione tipica:

interface GigabitEthernet0/1
 switchport mode access
 switchport port-security
 switchport port-security maximum 2
 switchport port-security mac-address sticky
 switchport port-security violation restrict

Le opzioni per violation sono:

Dynamic ARP Inspection (DAI): Lo switch verifica la validità dei pacchetti ARP confrontandoli con una tabella di binding IP-MAC fidati (DHCP Snooping binding table). ARP packet che non corrispondono vengono scartati.

DHCP Snooping: Lo switch intercetta messaggi DHCP, costruendo una tabella di binding <IP, MAC, VLAN, Port> fidati. Le porte sono classificate come trusted (verso server DHCP legittimi) o untrusted. Messaggi DHCP server su porte untrusted vengono bloccati.

IP Source Guard: Basato su DHCP Snooping, filtra traffico IP a livello di porta, permettendo solo pacchetti con IP sorgente che corrisponde ai binding DHCP.

BPDU Guard: Disabilita automaticamente porte configurate come edge port (PortFast) se ricevono BPDU. Previene che dispositivi non autorizzati partecipino a STP.

Root Guard: Previene che porte non-radice diventino root port. Se una porta con root guard riceve BPDU superiori, viene posta in root-inconsistent state (blocking) invece di diventare root port.

12.3 IEEE 802.1X - Network Access Control

IEEE 802.1X fornisce autenticazione port-based, permettendo accesso alla rete solo dopo autenticazione riuscita.

Componenti:

Protocollo:

  1. Il supplicant invia un EAPOL-Start alla porta
  2. L’authenticator risponde con una EAP-Request/Identity
  3. Il supplicant fornisce le sue credenziali
  4. L’authenticator relay le credenziali al server RADIUS usando RADIUS protocol
  5. Il server RADIUS verifica le credenziali e risponde Accept o Reject
  6. L’authenticator apre o mantiene chiusa la porta

Lo scambio delle credenziali usa EAP (Extensible Authentication Protocol), che supporta diversi metodi di autenticazione: EAP-TLS (certificati), EAP-PEAP (password protetta), EAP-TTLS, ecc.

Controllo Flessibile:

12.4 MACsec - IEEE 802.1AE

MACsec fornisce encryption e autenticazione a livello 2, proteggendo i dati mentre attraversano la rete Ethernet.

Caratteristiche:

Operazione:

Use Cases:

MACsec introduce overhead ridotto (circa 32 byte per frame per header e ICV) e può essere implementato in hardware, con impatto minimo sulle prestazioni.

12.5 Network Segmentation e Microsegmentation

Traditional Segmentation: Usare VLAN e firewalls per separare reti in zone di sicurezza (DMZ, production, management, guest).

Microsegmentation: Approccio moderno che applica politiche di sicurezza a livello di workload individuale invece che a livello di rete. Implementato tipicamente con:

Zero Trust Architecture: Filosofia che non assume fiducia implicita basata su network location. Ogni richiesta di accesso è autenticata, autorizzata, e verificata continuamente.

13. Gestione e Monitoraggio di Reti Ethernet

13.1 SNMP - Simple Network Management Protocol

SNMP è il protocollo standard per gestione di dispositivi di rete. Architettura manager-agent:

Management Information Base (MIB): Database gerarchico che definisce oggetti gestibili e loro struttura. OID (Object Identifiers) univoci identificano ogni oggetto. Esempio di OID:

Operazioni SNMP:

Versioni:

Limitazioni: SNMP polling è inefficiente per metriche ad alta frequenza. Alternative moderne includono streaming telemetry con gRPC o NETCONF/YANG.

13.2 RMON - Remote Monitoring

RMON (definito in RFC 2819 per RMON1 e RFC 2021 per RMON2) estende SNMP con capacità di monitoring avanzate:

RMON1 (Monitoring di Livello 2):

RMON2 (Monitoring di Livello Network e Application):

RMON può operare autonomamente sul dispositivo, riducendo il traffico di polling verso il management station.

13.3 NetFlow e sFlow

Tecnologie per esportare informazioni dettagliate sui flussi di traffico verso un collector per analisi:

NetFlow (originalmente Cisco, standardizzato come IPFIX - IP Flow Information Export):

sFlow (standard aperto):

Utilizzo:

13.4 Link Aggregation Control Protocol (LACP)

LACP (IEEE 802.1AX, precedentemente 802.3ad) permette di aggregare multiple interfacce fisiche in un singolo link logico (LAG - Link Aggregation Group o Port-Channel).

Benefici:

Funzionamento:

Hashing per Load Balancing:
Il traffico è distribuito tra i link usando hash di campi del frame:

L’hash determina quale link fisico usa per un dato flusso. Questo garantisce che pacchetti dello stesso flusso seguano lo stesso percorso (evitando riordino), ma flussi diversi possono usare link diversi.

Considerazione: Load balancing non è perfetto. Con pochi flussi grandi, alcuni link possono essere sottoutilizzati. Algoritmi avanzati come flowlet switching tentano di bilanciare meglio.

13.5 Software-Defined Networking (SDN) e Ethernet

SDN separa il control plane (decisioni di forwarding) dal data plane (forwarding effettivo), centralizzando la logica di controllo in un controller software.

OpenFlow: Protocollo standard per comunicazione controller-switch. Il controller installa flow entries nelle flow tables degli switch, specificando:

Vantaggi per Ethernet SDN:

P4 (Programming Protocol-independent Packet Processors): Linguaggio di programmazione per definire come gli switch processano pacchetti, permettendo personalizzazione a livello di hardware programmabile (ASIC, FPGA).

14. Ethernet nel Contesto delle Reti Moderne

14.1 Data Center Ethernet

I data center moderni hanno requisiti unici che hanno guidato innovazioni specifiche in Ethernet:

East-West Traffic: Tradizionalmente, il traffico era principalmente North-South (client-server). Con microservices, storage distribuito, e workloads distribuiti, la maggior parte del traffico è ora East-West (server-to-server). Questo ha portato a topologie flat come leaf-spine.

Low Latency: Applicazioni come trading ad alta frequenza, simulazioni scientifiche, e AI training richiedono latenze microsecond. Switch moderni ottimizzati hanno latenze di port-to-port < 1 microsecond.

Lossless Ethernet: Storage su Ethernet (iSCSI, FCoE - Fibre Channel over Ethernet) richiede zero packet loss. Tecnologie come PFC (Priority Flow Control) e ECN (Explicit Congestion Notification) garantiscono questo.

Network Virtualization: Overlay network come VXLAN (Virtual Extensible LAN) permettono L2 networking su infrastrutture L3, con scalabilità fino a 16 milioni di segmenti (vs 4096 VLAN).

VXLAN: Incapsula frame Ethernet in pacchetti UDP/IP. Header VXLAN include:

VXLAN permette:

Evoluzione verso 400G e 800G in Data Center: Data center hyperscale stanno deployando 400G per spine e 100G/200G per leaf, con roadmap verso 800G e 1.6T negli anni venturi.

14.2 Ethernet in Carrier/Provider Networks

I service provider hanno adottato Ethernet per servizi carrier-grade:

Carrier Ethernet: Standards MEF (Metro Ethernet Forum) definiscono servizi Ethernet per provider:

Attributi di servizio standardizzati: bandwidth profiles, frame delay, frame delay variation, frame loss ratio, availability.

Provider Backbone Bridging (PBB, IEEE 802.1ah): Incapsula frame Ethernet customer in frame provider, separando spazio indirizzi MAC customer e provider, migliorando scalabilità.

PBB-TE (Traffic Engineering): Estensione di PBB che sostituisce learning automatico con provisionamento esplicito di percorsi, fornendo traffic engineering e protezione MPLS-like su Ethernet.

MPLS over Ethernet: Molto comune in provider networks. Etichette MPLS sono inserite tra header Ethernet e payload IP, permettendo MPLS forwarding su infrastruttura Ethernet.

14.3 Ethernet e 5G

5G cellular networks fanno massiccio uso di Ethernet in fronthaul, midhaul, e backhaul:

Fronthaul: Connessione tra Remote Radio Unit (RRU) e Distributed Unit (DU). Tradizionalmente usava CPRI (interface digitale proprietaria), ora transizione verso eCPRI (enhanced CPRI) su Ethernet/IP, riducendo bandwidth requirements.

Midhaul: Connessione tra DU e Centralized Unit (CU). Tipicamente Ethernet con requisiti di latenza moderate (millisecondi).

Backhaul: Connessione tra CU e core network. Ethernet o MPLS over Ethernet.

Requisiti: Latenza ultra-bassa (< 1ms per alcune applicazioni), sincronizzazione rigorosa (phase/time synchronization con ±1.5μs), bandwidth elevata (Gbps), affidabilità carrier-grade (99.999% uptime).

TSN è visto come tecnologia chiave per 5G fronthaul, fornendo determinismo e sincronizzazione necessari.

14.4 Internet of Things (IoT) e Ethernet

IoT sta spingendo Ethernet in nuove direzioni:

Single Pair Ethernet (SPE): Nuovi standard IEEE 802.3 per Ethernet su una singola coppia di fili invece di due o quattro coppie:

SPE riduce costo del cablaggio e permette Ethernet in ambienti dove spazio è limitato.

Power over Data Line (PoDL): Estensione di PoE per SPE, fornisce potenza su single pair. Standard IEEE 802.3bu definisce fino a 50W su SPE per distanze brevi.

Edge Computing: Elaborazione dati vicino alla sorgente (IoT devices) richiede reti Ethernet robuste e a bassa latenza nell’edge. TSN garantisce prestazioni predicibili per applicazioni edge-AI.

15. Aspetti Avanzati di Ricerca

15.1 Terabit Ethernet e Oltre

La ricerca su Ethernet ultra-high-speed (≥ 1 Tbps) affronta sfide fondamentali:

Limiti Fisici della Fibra: La capacità della fibra ottica non è infinita. Il limite di Shannon per una fibra monomodale con attuale SNR è stimato circa 100 Tbps. Per superare questo:

Optical Switching Fabric: A velocità terabit, packet processing elettrico diventa impraticabile. Ricerca su optical switching che forwarda frame direttamente nel dominio ottico, riducendo conversioni elettro-ottiche.

Coherent Optics: Utilizzate in long-haul, ora in studio per data center. Permettono modulazione di ampiezza, fase, e polarizzazione, aumentando efficienza spettrale.

Power Efficiency: Con data center che consumano megawatt, l’efficienza energetica è critica. Ricerca su:

15.2 Latenza Ultra-Bassa

Applicazioni come trading algoritmico, realtà virtuale, e control loops industriali richiedono latenze sub-microsecond:

Programmable Data Planes: Hardware come Barefoot Tofino (ora Intel) permette programmazione di ASIC switch in P4, ottimizzando pipeline di forwarding per latenza minima.

Kernel Bypass: Tecnologie come DPDK (Data Plane Development Kit) e AF_XDP permettono applicazioni di bypassare il kernel OS, riducendo latenza software da millisecondi a microsecondi.

RDMA: Come menzionato, permette accesso diretto a memoria remota senza coinvolgere CPU remota, con latenze di pochi microsecondi.

Innovations:

15.3 Quantum Networking e Ethernet

Con l’avvento del quantum computing, emerge quantum networking:

Quantum Key Distribution (QKD): Distribuzione di chiavi crittografiche usando fotoni in stati quantistici. Qualsiasi intercettazione disturba lo stato quantico, rivelando l’attacco.

Integrazione con Ethernet: Ricerca su come integrare QKD con infrastrutture Ethernet esistenti:

Quantum Ethernet: Visione futuristica di una Ethernet che trasporta informazione quantica (qubit). Sfide enormi: qubit sono estremamente fragili, richiedono temperature criogeniche, e decoherence avviene su scale temporali microsecond.

15.4 Machine Learning per Networking

ML/AI stanno trasformando gestione e ottimizzazione di reti Ethernet:

Traffic Prediction: Modelli LSTM (Long Short-Term Memory) o Transformer predicono pattern di traffico, permettendo resource allocation proattiva.

Anomaly Detection: Modelli unsupervised (autoencoders, isolation forests) rilevano traffico anomalo indicativo di attacchi o malfunzionamenti.

Intent-Based Networking: Amministratori specificano intent di alto livello (“garantire latenza < 10ms per applicazione X”). ML traduce intent in configurazioni di rete, monitorando continuamente e adattando.

Reinforcement Learning per Routing: Agenti RL apprendono politiche di routing ottimali esplorando lo spazio delle possibili configurazioni e ottimizzando per metriche multiple (throughput, latency, fairness).

Self-Optimizing Networks: Visione di reti che si auto-configurano, auto-ottimizzano, e auto-riparano usando ML, riducendo drasticamente intervention umana.

15.5 Disaggregation e Networking Aperto

Movimento verso disaggregation: separare hardware networking (switch) da software (network OS):

Open Networking: Initiatives come Open Compute Project (OCP) e OpenFlow hanno promosso hardware aperto. Switch come “white-box” o “brite-box” permettono di eseguire network OS di terze parti.

SONiC (Software for Open Networking in the Cloud): Network OS open-source sviluppato da Microsoft, usato nei loro data center e disponibile pubblicamente. Basato su Linux, modular, supporta SAI (Switch Abstraction Interface) per indipendenza dall’hardware.

DENT (Disaggregated Network OS): Network OS per access/aggregation switch basato su Linux kernel networking stack.

Benefici:

Sfide:

Conclusione

Ethernet, dopo oltre quattro decenni dalla sua invenzione, rimane non solo rilevante ma dominante nel panorama delle tecnologie di rete. La sua longevità è attribuibile a una combinazione unica di semplicità concettuale, flessibilità architettonica, e capacità di evoluzione continua. Dai suoi modesti inizi come rete locale a 2.94 Mbps con accesso condiviso, Ethernet si è trasformato in una tecnologia pervasiva che opera a velocità superiori al Terabit per secondo, supporta applicazioni time-critical con determinismo submicrosecond, e costituisce la spina dorsale dell’infrastruttura digitale globale.

L’evoluzione di Ethernet illustra principi fondamentali dell’innovazione tecnologica: l’importanza della standardizzazione aperta, il valore dell’iterazione incrementale, e la necessità di bilanciare prestazioni con costo e complessità. Gli standard IEEE 802.3 hanno fornito una base solida e neutrale rispetto ai vendor, permettendo un ecosistema competitivo che ha stimolato innovazione e ridotto costi.

Le sfide future per Ethernet sono molteplici: aumentare ulteriormente le velocità mantenendo efficienza energetica, supportare requisiti sempre più stringenti di latenza e determinismo per applicazioni come veicoli autonomi e realtà estesa, garantire sicurezza in un panorama di minacce in continua evoluzione, e integrarsi con paradigmi emergenti come quantum networking e in-network computing.

La ricerca continua in questi ambiti, combinata con la robusta community di standardizzazione e l’enorme base installata, suggerisce che Ethernet continuerà a essere una tecnologia centrale per decenni a venire. Per studenti, ricercatori e professionisti nel campo delle reti di calcolatori, una comprensione profonda di Ethernet - dai suoi fondamenti teorici alle sue implementazioni più avanzate - rimane essenziale per navigare e contribuire al futuro delle comunicazioni digitali.


Bibliografia e Risorse per Approfondimenti

Standard IEEE

Libri di Riferimento

Articoli Seminali

Risorse Online